BufferUtils এর বিভিন্ন ইউটিলিটি ফাংশন

Java Technologies - অ্যাপাচি কমন্স কালেকশনস (Apache Common Collection) Buffer এবং Queue Collection Classes |
129
129

Apache Commons Collections একটি শক্তিশালী লাইব্রেরি যা Java-তে বিভিন্ন ধরনের ডেটা স্ট্রাকচার এবং ইউটিলিটি ক্লাস প্রদান করে। এর মধ্যে একটি গুরুত্বপূর্ণ ক্লাস হল BufferUtils, যা বিভিন্ন ধরনের buffer সংক্রান্ত কার্যকলাপ সহজতর করে।

BufferUtils হল একটি ইউটিলিটি ক্লাস যা ByteBuffer, CharBuffer, IntBuffer, ইত্যাদি NIO Buffers এর সাথে কাজ করার জন্য বিভিন্ন helper methods সরবরাহ করে। এই ক্লাসটি ফাইল বা নেটওয়ার্ক I/O অপারেশন চালানোর সময় buffers ব্যবহার করার সময় প্রচলিত কিছু সাধারণ কার্যকলাপ সহজ করে দেয়।

1. BufferUtils এর ভূমিকা

BufferUtils মূলত Apache Commons Collections লাইব্রেরির একটি ক্লাস যা Java NIO Buffers এর উপর কাজ করে। এটি Buffer সংক্রান্ত বিভিন্ন ইউটিলিটি মেথড সরবরাহ করে, যেমন Buffer তৈরি করা, clear করা, flip করা, read/write অপারেশন করা ইত্যাদি।

2. BufferUtils ইউটিলিটি ফাংশন

BufferUtils ক্লাসের মাধ্যমে আপনি নিচের ধরনের কার্যকলাপ খুব সহজে করতে পারবেন:

2.1 toByteArray() – Buffer কে ByteArray তে রূপান্তর করা

এটি একটি Buffer কে byte array এ রূপান্তর করতে ব্যবহৃত হয়।

import org.apache.commons.collections4.buffer.BufferUtils;
import java.nio.ByteBuffer;

public class BufferUtilsExample {
    public static void main(String[] args) {
        ByteBuffer buffer = ByteBuffer.allocate(10);
        buffer.put((byte) 1);
        buffer.put((byte) 2);

        // Buffer কে byte array তে রূপান্তর করা
        byte[] byteArray = BufferUtils.toByteArray(buffer);

        // byte array প্রিন্ট করা
        System.out.println("Byte Array: ");
        for (byte b : byteArray) {
            System.out.print(b + " ");
        }
    }
}

আউটপুট:

Byte Array: 1 2 0 0 0 0 0 0 0 0

এখানে:

  • toByteArray(buffer) মেথডটি ByteBuffer কে byte array তে রূপান্তর করেছে।

2.2 toByteBuffer() – ByteArray কে ByteBuffer তে রূপান্তর করা

এই মেথডটি byte array কে ByteBuffer তে রূপান্তর করতে ব্যবহৃত হয়।

import org.apache.commons.collections4.buffer.BufferUtils;
import java.nio.ByteBuffer;

public class BufferUtilsExample {
    public static void main(String[] args) {
        byte[] byteArray = {1, 2, 3, 4};

        // byte array কে ByteBuffer তে রূপান্তর করা
        ByteBuffer buffer = BufferUtils.toByteBuffer(byteArray);

        // ByteBuffer প্রিন্ট করা
        while (buffer.hasRemaining()) {
            System.out.print(buffer.get() + " ");
        }
    }
}

আউটপুট:

1 2 3 4 

এখানে:

  • toByteBuffer(byteArray) মেথডটি byte array কে ByteBuffer তে রূপান্তর করেছে।

2.3 getBytes() – ByteBuffer থেকে byte array বের করা

এই ফাংশনটি ByteBuffer থেকে byte array বের করতে ব্যবহৃত হয়।

import org.apache.commons.collections4.buffer.BufferUtils;
import java.nio.ByteBuffer;

public class BufferUtilsExample {
    public static void main(String[] args) {
        ByteBuffer buffer = ByteBuffer.allocate(10);
        buffer.put((byte) 10);
        buffer.put((byte) 20);
        
        // ByteBuffer থেকে byte array বের করা
        byte[] byteArray = BufferUtils.getBytes(buffer);

        // byte array প্রিন্ট করা
        for (byte b : byteArray) {
            System.out.print(b + " ");
        }
    }
}

আউটপুট:

10 20 0 0 0 0 0 0 0 0 

এখানে:

  • getBytes(buffer) মেথডটি ByteBuffer থেকে byte array বের করে নিয়ে এসেছে।

2.4 isEmpty() – Buffer খালি কিনা তা যাচাই করা

এই ফাংশনটি একটি Buffer খালি কিনা তা চেক করে। যদি Buffer তে কোনো উপাদান না থাকে, তবে এটি true রিটার্ন করবে।

import org.apache.commons.collections4.buffer.BufferUtils;
import java.nio.ByteBuffer;

public class BufferUtilsExample {
    public static void main(String[] args) {
        ByteBuffer buffer = ByteBuffer.allocate(10);

        // Buffer খালি কিনা তা যাচাই করা
        boolean isEmpty = BufferUtils.isEmpty(buffer);
        System.out.println("Is buffer empty? " + isEmpty);
    }
}

আউটপুট:

Is buffer empty? true

এখানে:

  • isEmpty(buffer) মেথডটি চেক করেছে যে buffer খালি কিনা।

2.5 clear() – Buffer কে ক্লিয়ার করা

এই ফাংশনটি Buffer কে ক্লিয়ার করে, অর্থাৎ সেটির পজিশনকে শূন্যে সেট করে এবং তা নতুন ডেটা গ্রহণ করতে প্রস্তুত করে।

import org.apache.commons.collections4.buffer.BufferUtils;
import java.nio.ByteBuffer;

public class BufferUtilsExample {
    public static void main(String[] args) {
        ByteBuffer buffer = ByteBuffer.allocate(10);
        buffer.put((byte) 50);
        
        // Buffer ক্লিয়ার করা
        BufferUtils.clear(buffer);
        System.out.println("Buffer after clear: " + buffer);
    }
}

আউটপুট:

Buffer after clear: java.nio.HeapByteBuffer[pos=0 lim=10 cap=10]

এখানে:

  • clear(buffer) মেথডটি ByteBuffer কে ক্লিয়ার করেছে, এবং পজিশন শূন্যে সেট করেছে।

3. BufferUtils এর অন্যান্য সুবিধা

Apache Commons Collections এর BufferUtils ক্লাস আরও কিছু ইউটিলিটি ফাংশন সরবরাহ করে যেমন:

  • flip(): এটি Buffer কে "flip" করে, যাতে আপনি write অপারেশন থেকে read অপারেশনে পরিবর্তন করতে পারেন।
  • wrap(): এটি একটি byte array বা char array থেকে Buffer তৈরি করতে ব্যবহৃত হয়।

সারাংশ

  • BufferUtils একটি ইউটিলিটি ক্লাস যা Java NIO Buffers এর সাথে কাজ করার জন্য বিভিন্ন সহায়ক মেথড সরবরাহ করে।
  • এর মধ্যে কিছু গুরুত্বপূর্ণ ফাংশন যেমন toByteArray(), toByteBuffer(), getBytes(), clear() ইত্যাদি রয়েছে, যা Buffer সম্পর্কিত বিভিন্ন কাজ যেমন রূপান্তর, ক্লিয়ারিং, অ্যাক্সেস সহজ করে তোলে।
  • BufferUtils Java NIO-র জন্য অতিরিক্ত সুবিধা প্রদান করে, যা I/O অপারেশনগুলোকে আরও সহজ এবং কার্যকরী করে তোলে।
common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion